#ifndef __H__CAMERA__
#define __H__CAMERA__
#include "baseShape.h"

class Camera:public baseShape
{
protected:
	const baseShape *m_pLookAtShape;
	GLdouble m_zoom;
	bool m_draging;
	GLdouble m_rotatx,m_rotaty;
	GLdouble m_tmprotatx,m_tmprotaty;
	GLdouble m_dragBeginX,m_dragBeginY;
public:
	Camera();
	~Camera();
	void lookAt(const baseShape &shape);
	void lookNull();
	void beginDrag(GLdouble x,GLdouble y);
	void endDrag();
	void drag(GLdouble x,GLdouble y);
	void zoomin();
	void zoomout();
	virtual void draw();
	virtual void init();
};

#endif